package com.greateamd.timetableasy.client.services.promotion;

import java.util.Date;
import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.greateamd.timetableasy.domain.Event;
import com.greateamd.timetableasy.domain.Promotion;
import com.greateamd.timetableasy.domain.exceptions.DBServerSideException;
import com.greateamd.timetableasy.domain.exceptions.IllegalEntityStateException;

@RemoteServiceRelativePath("promotion.rpc")
public interface PromotionService extends RemoteService {

	boolean remove(Promotion promotion) throws DBServerSideException ;
	boolean save(Promotion promotion)throws DBServerSideException;
	boolean update(Promotion promotion) throws DBServerSideException;
	Promotion find(int id) throws DBServerSideException;
	List<Promotion> getAll() throws DBServerSideException;
	List<Promotion> getAllOfCampusManager()throws DBServerSideException;
	
	List<Event> getPlanning(Promotion promotion, Date from, Date to)throws DBServerSideException,IllegalEntityStateException;
}
